Providing status of user devices during a biological threat event

ABSTRACT

A method includes identifying a first user device potentially associated with a biological threat event and establishing a relevant time period of the biological threat event. The method further includes identifying geographic location coordinates associated with the biological threat event based on the relevant time period of the biological threat event and geographic location coordinate information of the first user device for the relevant time period. The method further includes identifying a second user device potentially associated with the biological threat event based on the geographic location coordinates associated with the biological threat event and geographic location coordinate information of the second user device for the relevant time period. The method further includes issuing status information to the second user device, where the status information includes the relevant time period of the biological threat event.

CROSS REFERENCE TO RELATED PATENTS

The present U.S. Utility Patent Application claims priority pursuant to35 U.S.C. § 120 as a continuation of U.S. Utility application Ser. No.16/388,978, entitled “PROVIDING STATUS OF A USER DEVICE DURING ANADVERSE CONDITION,” filed Apr. 19, 2019, allowed, which is acontinuation of U.S. Utility application Ser. No. 15/980,975, entitled“PROVIDING STATUS OF A USER DEVICES DURING AN ADVERSE CONDITION,” filedMay 16, 2018, issued as U.S. Pat. No. 10,271,195 on Apr. 23, 2019, whichis a continuation of U.S. Utility application Ser. No. 15/832,693,entitled “PROVIDING STATUS OF A USER DEVICES DURING AN ADVERSECONDITION,” filed Dec. 5, 2017, issued as U.S. Pat. No. 9,980,119 on May22, 2018, which is a continuation of U.S. Utility application Ser. No.15/406,246, entitled “PROVIDING STATUS OF USER DEVICES DURING AN ADVERSECONDITION,” filed Jan. 13, 2017, issued as U.S. Pat. No. 9,854,422 onDec. 26, 2017, which is a continuation of U.S. Utility application Ser.No. 14/944,406, entitled “PROVIDING STATUS OF USER DEVICES DURING ANADVERSE EVENT,” filed Nov. 18, 2015, issued as U.S. Pat. No. 9,549,304on Jan. 17, 2017, which is a continuation of U.S. Utility applicationSer. No. 14/464,513 entitled “OBTAINING EVENT RESPONSE INFORMATION,”filed Aug. 20, 2014, issued as U.S. Pat. No. 9,198,015 on Nov. 24, 2015,which is a continuation of U.S. Utility application Ser. No. 13/300,983,entitled “OBTAINING GROUP AND INDIVIDUAL EMERGENCY PREPAREDNESSCOMMUNICATION INFORMATION,” filed Nov. 21, 2011, issued as U.S. Pat. No.8,874,773 on Oct. 28, 2014, which claims priority pursuant to 35 U.S.C.§ 119(e) to U.S. Provisional Application No. 61/418,326, entitled“EMERGENCY PREPAREDNESS INFORMATION PROCESSING”, filed Nov. 30, 2010,expired, all of which are hereby incorporated herein by reference intheir entirety and made part of the present U.S. Utility PatentApplication for all purposes.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISC

Not Applicable

BACKGROUND OF THE INVENTION Technical Field of the Invention

This invention relates generally to computing systems and moreparticularly to emergency preparedness information processing withinsuch computing systems.

Description of Related Art

Emergencies are known to be associated with direct costs (e.g.,rebuilding), indirect costs (e.g., higher insurance premiums) andserious loss of life. Such emergencies include man-made emergencies andnatural disasters. Examples of man-made emergencies are known to includetraffic accidents, structure fires, chemical spills, railroad accidents,aircraft accidents, shipping accidents, criminal activities, andterrorism. Examples of natural disasters are known to includehurricanes, typhoons, earthquakes, forest fires, mudslides, floods,droughts, dust storms, hail storms, extreme heat, extreme cold, and snowstorms.

Emergency management is known to address reducing the impact ofemergencies by avoiding risks associated with emergencies and byutilizing more effective practices and tools to respond to emergencies.Emergency management is known to partition such management into phasesincluding a mitigation phase (e.g., to reduce risks, to reduce theeffects of disasters), a preparedness phase (e.g., planning, resourcing,drilling), a response phase (e.g., primary resource activation,secondary resource activation), and a recovery phase (e.g., rebuilding).

Emergency impact may be abated by improving the effectiveness of thepreparedness phase. For example, preparing a resource checklist that isrelevant to a group of individuals and a particular emergency scenariomay improve the effectiveness of a subsequent response phase. In anotherexample, providing a training tutorial that is relevant to the group ofindividuals and the particular emergency scenario may also improve theeffectiveness of the subsequent response phase. In another example,providing a training drill that is relevant to the group of individualsand the particular emergency scenario that utilizes resources from theresource checklist and process steps from the training tutorial may alsoimprove the effectiveness of the subsequent response phase.

Emergency impact may be abated by improving the effectiveness of theresponse phase. For example, effective communications betweenindividuals and groups of individuals affected by (e.g., victims,including individuals, families, co-workers, etc.) or responding to anemergency (e.g., first responders, second responders, aid workers,volunteers, individuals) may improve the effectiveness of the responsephase. In an instance, a first family member communicates with a secondfamily member via a cellular telephone with instructions including whereto go for help. In another instance, a second responder communicateswith a volunteer indicating needed resources at the scene of anemergency.

Computing systems are known to process data into information, storeinformation and communicate information. Such information may includeemergency preparedness information and response phase communicationsinformation. Individuals utilize computing systems to gain access tosuch emergency preparedness information. Despite such access,individuals may not always obtain desired or optimal emergencypreparedness information due to complexities associated with a relevantemergency scenario, resource gaps, chain of command, lack of training,and tension associated with emergency. Individuals utilize publiccomputing systems (e.g., the internet, wireless devices, wirelessnetworks) to communicate response phase communications informationduring an emergency. Despite such utilization, public computing systems(e.g., a commercial wireless carrier network) typically can't sustain ademanded traffic volume of such response phase communicationsinformation when the demanded traffic volume is multiples of a typicalnon-emergency time period. In an instance, a cellular network mayprovide tens of voice call communications paths per cellular tower whenhundreds of voice call resources are in demand. One solution is toutilize text messaging rather than voice telephony to carry outcommunication of the response phase communications information. Forexample, hundreds of individuals can communicate via text messagingutilizing a similar cellular network channel resource that can onlysupport a single voice call. Despite such texting capability, effectiveutilization of texting services is impacted by one more of identifyingother users to communicate with, entering identifiers associated withthe other users, and rapidly exchanging the response phasecommunications information.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

FIG. 1 is a schematic block diagram of an embodiment of a computingsystem in accordance with the invention;

FIG. 2 is a schematic block diagram of an embodiment of a user device inaccordance with the invention;

FIG. 3A is a display rendering illustrating an example of a home screenin accordance with the invention;

FIG. 3B is a display rendering illustrating an example of a setup screenin accordance with the invention;

FIG. 3C is a display rendering illustrating an example of a planningscreen in accordance with the invention;

FIG. 3D is a display rendering illustrating an example of an informationscreen in accordance with the invention;

FIG. 3E is a display rendering illustrating an example of acommunication screen in accordance with the invention;

FIG. 3F is a display rendering illustrating an example of a drill screenin accordance with the invention;

FIG. 4 is a flowchart illustrating an example of obtainingidentification information in accordance with the invention;

FIG. 5 is a flowchart illustrating an example of obtaining credentialinformation in accordance with the invention;

FIG. 6 is a flowchart illustrating an example of obtaining privacyinformation in accordance with the invention;

FIG. 7 is a flowchart illustrating an example of obtaining feedsinformation in accordance with the invention;

FIG. 8 is a flowchart illustrating an example of selecting a tutorial inaccordance with the invention;

FIG. 9 is a flowchart illustrating an example of selecting a checklistin accordance with the invention;

FIG. 10 is a flowchart illustrating an example of selecting resources inaccordance with the invention;

FIG. 11 is a flowchart illustrating an example of determining scenariosinformation in accordance with the invention;

FIG. 12 is a flowchart illustrating an example of determining schedulesinformation in accordance with the invention;

FIG. 13 is a flowchart illustrating an example of determiningenvironmental information in accordance with the invention;

FIG. 14 is a flowchart illustrating an example of determining eventinformation in accordance with the invention;

FIG. 15 is a flowchart illustrating an example of selecting live feedinformation in accordance with the invention;

FIG. 16 is a flowchart illustrating an example of obtaining top issuesinformation in accordance with the invention;

FIG. 17 is a flowchart illustrating an example of obtaining statusinformation in accordance with the invention;

FIG. 18 is a flowchart illustrating an example of selecting messagetargets in accordance with the invention;

FIG. 19 is a flowchart illustrating an example of initiating a drillsequence in accordance with the invention;

FIG. 20 is a flowchart illustrating an example of participating in adrill sequence in accordance with the invention; and

FIG. 21 is a flowchart illustrating an example of executing a drilltutorial in accordance with the invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a schematic block diagram of an embodiment of a computingsystem 10 that includes a plurality of user devices 12, a wirelesslocation network 14, a wireless communication network 16, an applicationserver 18, a network 20, an information server 22, and a remoteapplication server 24. The wireless location network 14 includes one ormore of a public wireless location system (e.g., global positioningsatellite (GPS), a cellular network) and one or more private wirelesslocation systems (e.g., wireless beacon, a wireless local area network(WLAN)). The wireless location network 14 sends wireless locationsignals 26 to the plurality of user devices 12 to enable determinationof location information.

The wireless communications network 16 includes one or more of a publicwireless communications system and a private wireless communicationssystem and may operate in accordance with one or more wireless industrystandards including universal mobile telecommunications system (UMTS),global system for mobile communications (GSM), long term evolution(LTE), wideband code division multiplexing (WCDMA), IEEE 802.11, IEEE802.16. The wireless communication network 16 sends wirelesscommunications signals 28 to the plurality of user devices 12 andreceives wireless communications signals 28 from the plurality of userdevices 12 to communicate information and application messages 30.Alternatively, or in addition to, the plurality of user devices 12 maysend and receive the wireless communications signals 28 directly betweentwo or more user devices 12 of the plurality of user devices 12.

The application server 18 includes a processing module and memory tosupport execution of one or more applications (e.g., an emergencypreparedness application). The processing module may be a singleprocessing device or a plurality of processing devices. Such aprocessing device may be implemented with one or more of amicroprocessor, micro-controller, digital signal processor,microcomputer, central processing unit, field programmable gate array,programmable logic device, state machine, logic circuitry, analogcircuitry, digital circuitry, and/or any device that manipulates signals(analog and/or digital) based on hard coding of the circuitry and/oroperational instructions. The processing module may have an associatedmemory and/or memory element, which may be a single memory device, aplurality of memory devices, and/or embedded circuitry of the processingmodule.

The memory device may be a read-only memory, random access memory,volatile memory, non-volatile memory, static memory, dynamic memory,flash memory, cache memory, and/or any device that stores digitalinformation. The processing devices may be centrally located (e.g.,directly coupled together via a wired and/or wireless bus structure)when the processing module includes more than one processing device, ormay be distributedly located (e.g., cloud computing via indirectcoupling via a local area network and/or a wide area network). Thememory and/or memory element storing the corresponding operationalinstructions may be embedded within, or external to, the circuitrycomprising the state machine, analog circuitry, digital circuitry,and/or logic circuitry when the processing module implements one or moreof its functions via a state machine, analog circuitry, digitalcircuitry, and/or logic circuitry. The memory element stores hardcodedand/or operational instructions and the processing module executes thehardcoded and/or operational instructions corresponding to at least someof the steps and/or functions illustrated in FIGS. 1-21.

The network 20 may include one or more of wireless and/or wirelinecommunications systems, one or more private communications systems, anda public internet system. The application server 18 communicatesinformation and application messages 30 via the wireless communicationnetwork 16 to the plurality of user devices 12 and via the network 20 tothe information server 22 and the remote application server 24. Theinformation server 22 includes a processing module and memory to supportstorage and retrieval of information (e.g., emergency preparednessinformation) via information messages 32. For example, the informationserver 22 streams emergency preparedness information via the network 20and the wireless communication network 16 to one or more of the userdevices 12. As another example, information server 22 sends emergencypreparedness information to user device 12 in response to receiving arequest for emergency preparedness information from the user device 12.The remote application server 24 includes a processing module and memoryto support execution of one or more applications (e.g., the emergencypreparedness application). For example, the remote application server 24sends an application output response message as an application message34 to the user device 12 in response to receiving an application requestas the application message 34 from the user device 12.

The plurality of user devices 12 may be a portable computing device(e.g., a smart phone, a tablet computer, a laptop a handheld computerand/or any other portable device that includes a computing unit) and/ora fixed computing device (e.g., a desktop computer, a cable televisionset-top box, an application server, an internet television userinterface and/or any other fixed device that includes a computing unit).Such a portable or fixed computing device includes one or more of acomputing unit (e.g., providing processing module functionality), one ormore wireless modems, sensors, and one or more user interfaces. Anembodiment of the user device 12 will be described in greater detailwith reference to FIG. 2.

In general and with respect to emergency preparedness, the system 10supports three primary functions: emergency preparedness planning,emergency preparedness drilling, and response phase emergencycommunications. In accordance with these three primary functions,emergency preparedness plans can be created that are relevant inrelationship to likely emergency scenarios and those affected, theemergency preparedness plans can be exercised by way of drilling andtraining to enable more efficient operations during an emergencyresponse phase, and communications can be provided during an emergencyresponse that is efficient in terms of mitigation resource utilizationand relevant in terms of scope and nature of an associated emergencyscenario.

The first primary function includes the user device determiningemergency preparedness planning information. In an example of operation,the user device 12 determines location information based on receivingthe wireless location signals 26. Next, the user device 12 sends achecklist request message that includes the location information to theapplication server 18 as wireless communications signals 28 via thewireless communications network 16. The application server 18 determinesrecommended checklists based on the location information to producerecommended checklists (e.g., a hurricane checklist, a tornadochecklist, etc.). For instance, the application server 18 determines therecommended checklists to include the hurricane checklist and thetornado checklist when the location information indicates that the userdevice is located in central Florida. As another instance, theapplication server 18 determines the recommended checklists to includean earthquake checklist and a wildfire checklist when the locationinformation indicates that the user device is located in SouthernCalifornia. The application server 18 sends the recommended checkliststo the user device 12. The user device 12 displays the recommendedchecklists and receives user input to produce a selected checklist. Theuser device 12 sends the selected checklist to the application server18. The application server 18 determines selected checklist informationbased on the selected checklist. The application server 18 sends theselected checklist information to the user device 12. The user device 12displays the selected checklist information and receives user input. Theuser device 12 modifies checklist item availability status to producemodified checklist item availability status. The user device 12 storesthe modified checklist item availability status and may send themodified checklist item availability status to the application server 18and/or the information server 22. In addition, the user device 12 mayproduce a checklist item reminder (e.g., a visual and audible alert) inaccordance with a checklist alert schedule when the modified checklistitem availability status compares unfavorably to a checklist itemavailability template. The method of operation to determine emergencypreparedness planning information is discussed in greater detail withreference to FIGS. 3A-21.

The second primary function includes the user device 12 participating inemergency preparedness drilling. In an example of operation, the userdevice 12 obtains location information and other context information(e.g., including a drill schedule) to produce a context bundle. The userdevice 12 sends a drill request message to the remote application server24 that includes the context bundle. The remote application server 24determines drill parameters (e.g., a drill scenario) and a drillidentifier (ID) based on the drill request message. For instance, theremote application server 24 determines the drill scenario to be ahurricane drill based on the location information indicating that theuser device 12 is near the Atlantic Ocean. As another instance, theremote application server 24 determines the drill scenario to be anearthquake drill based on the location information indicating that theuser device 12 is near an earthquake fault line. The remote applicationserver 24 sends the drill parameters and the drill ID to the user device12. The remote application server 24 initializes a drill applicationassociated with the drill ID and in accordance with the drillparameters. The remote application server 24 sends a drill updatemessage to the user device 12 that includes drill application outputassociated with the drill application. The user device 12 receives thedrill update message and sends the drill application output to a displayassociated with the user device. The user device 12 receives user inputto produce drill input information. The user device 12 sends a drillinput message to the remote application server 24 that includes thedrill input information. The remote application server 24 receives thedrill input message and provides the drill application with the drillinput information to produce updated drill application output. Theremote application server 24 sends a second drill update message to theuser device 12 that includes the updated drill application output. Theprocess repeats until the application reaches an end point. The methodof operation to participate in drilling is discussed in greater detailwith reference to FIGS. 3A-21.

The third primary function includes the user device 12 communicatingduring an emergency response phase. In an example of operation, the userdevice 12 obtains location information and other context information(e.g., including a group ID affiliation) to produce the context bundle.The user device 12 obtains local status (e.g., ok, getting help, needhelp, etc.) via a user prompt. Next, the user device 12 sends a statusrequest message to the application server 18 that includes the localstatus and the context bundle. The application server 18 receives thestatus request message and determines a status associated with each userdevice 12 affiliated with the group ID. For instance, the applicationserver 18 sends a status request message to the other user devices 12affiliated with the group ID and receives status response messagesindicating status. The application server 18 sends a status responsemessage that includes status information of the other user devices 12affiliated with the group ID to the user device. The user device 12receives the status response message and displays the status informationin accordance with the context bundle. For instance, the user device 12displays names associated with the other user devices 12 and utilizes acolored icon to indicate status of the other user device (e.g., red fornot okay, green for okay). As another instance, the user device 12displays names associated with the other user devices in a rank orderedlist where the ranking is by relative distance away from the user device12 as determined utilizing status information associated with the otheruser devices 12. As another instance, the user device 12 displays thenames associated with the other user devices 12 on a map where in thecenter of the map is a location associated with the user device 12. Themethod of operation to communicate is discussed in greater detail withreference to FIGS. 3A-21.

FIG. 2 is a schematic block diagram of an embodiment of a user device 12that includes a user interface output 40, a user interface input 42, asensor 44, a computing unit 46, a wireless communications modem 48, anda wireless location modem 50. The user interface output 40 may be asingle interface output device or a plurality of interface outputdevices. The interface output device 40 may include one or more of adisplay, a touch screen, a speaker, an earpiece, a motor, an indicatorlight, a transducer, and a digital indicator. For instance, theinterface output device 40 includes a color touch screen display capableof rendering static images and/or full-motion video. The user interfaceinput 42 may be a single interface input device or a plurality ofinterface input devices. The interface input device includes one or moreof a touch screen sensor array, a keyboard, a microphone, a fingerprintreader, a trackball, a mouse sensor, a pushbutton, and a selectorswitch. For instance, the interface input device includes a touch screensensor array associated with the color touch screen display. The sensor44 may be a single sensor device or a plurality of sensor devices. Thesensor device includes capabilities for sensing one or more of amagnetic field (e.g., a compass), motion, temperature, pressure,altitude, humidity, an image, a stream of images (e.g., capture video),biometrics, proximity, capacitance, gases, radiation, pathogens, lightlevels, and bio hazards.

The wireless communications modem 48 may include a single wirelesstransceiver or a plurality of wireless transceivers. The wirelesstransceiver may operate in accordance with one or more wireless industrystandards including universal mobile telecommunications system (UMTS),global system for mobile communications (GSM), long term evolution(LTE), wideband code division multiplexing (WCDMA), IEEE 802.11, IEEE802.16. The wireless location modem 50 may include one or more of asingle wireless location receiver, a single wireless locationtransceiver, a plurality of wireless location receivers, and a pluralityof wireless location transceivers. The wireless location receiver andwireless location transceiver may operate in accordance with one or morewireless location technologies including GPS, Wi-Fi, angle of arrival,time difference of arrival, signal strength, and beaconing.

The computing unit 46 includes an application processing module 52, amemory 54 one or more interfaces to one or more of the user interfaceoutput 40, user interface input 42, the sensor 44, the wirelesscommunication modem 48, and the wireless location modem 50. The memory54 may include a single memory device or a plurality of memory devices.The memory device may be a read-only memory, random access memory,volatile memory, non-volatile memory, cache memory, and/or any devicethat stores digital information. Memory device examples include staticrandom access memory (SRAM), dynamic random access memory (DRAM), NANDflash memory, magnetic memory (e.g., a hard disk), and optical memory(e.g., an optical disc).

The application processing module 52 may be a single processing deviceor a plurality of processing devices. The processing device may includeone or more of a microprocessor, micro-controller, digital signalprocessor, microcomputer, central processing unit, field programmablegate array, programmable logic device, state machine, logic circuitry,analog circuitry, digital circuitry, and/or any device that manipulatessignals (analog and/or digital) based on hard coding of the circuitryand/or operational instructions. The application processing module 52may have an associated memory and/or memory element, which may be asingle memory device, a plurality of memory devices, and/or embeddedcircuitry of the application processing module.

The memory device 54 include one or more of a read-only memory, randomaccess memory, volatile memory, non-volatile memory, static memory,dynamic memory, flash memory, cache memory, and/or any device thatstores digital information. The processing devices may be centrallylocated (e.g., directly coupled together via a wired and/or wireless busstructure) when the application processing module includes more than oneprocessing device, or the processing devices may be distributedlylocated (e.g., cloud computing via indirect coupling via a local areanetwork and/or a wide area network). The memory and/or memory elementstoring the corresponding operational instructions may be embeddedwithin, or external to, the circuitry comprising the state machine,analog circuitry, digital circuitry, and/or logic circuitry) when theapplication processing module implements one or more of its functionsvia a state machine, analog circuitry, digital circuitry, and/or logiccircuitry. The memory element stores hard coded and/or operationalinstructions and the application processing module executes the hardcoded and/or operational instructions corresponding to at least some ofthe steps and/or functions illustrated in FIGS. 3A-21.

FIG. 3A is a display rendering illustrating an example of a home screen62 generated by an emergency preparedness application executing on anapplication processing module. The home screen 62 may be utilized toindicate emergency preparedness application options and to prompt foruser input to execute one or more portions of the emergency preparednessapplication. The home screen 62 includes one or more of a set of softkeys and a user device status area 60 including one or more of a batteryindicator level, a date, a time of day, a wireless location statusindicator, and a wireless communication signal strength indicator. Theset of soft keys includes one or more of a setup 64, a plan 66,information 68, communicate 70, and drill 72. A method of operation ofthe application processing module is discussed in greater detail withreference to FIGS. 4-21.

FIG. 3B is a display rendering illustrating an example of a setup screen74 generated by an emergency preparedness application executing on anapplication processing module. The setup screen 74 may be utilized toindicate emergency preparedness application options in regards to set upand to prompt for user input to gather setup information and to executeone or more portions of the emergency preparedness application. Thesetup screen 74 includes one or more of a set of soft keys and a userdevice status area 60. The set of soft keys includes one or more ofgroup 76, individuals 80, privacy 82, credentials 84, and feeds 86. Amethod of operation of the application processing module is discussed ingreater detail with reference to FIGS. 4-7.

FIG. 3C is a display rendering illustrating an example of a planningscreen 88 generated by an emergency preparedness application executingon an application processing module. The planning screen 88 may beutilized to indicate emergency preparedness application options inregards to planning and to prompt for user input to gather planninginformation and to execute one or more portions of the emergencypreparedness application. The planning screen 88 includes one or more ofa set of soft keys and a user device status area 60. The set of softkeys includes one or more of tutorials 90, checklists 92, resources 94,scenarios 96, and schedules 98. A method of operation of the applicationprocessing module is discussed in greater detail with reference to FIGS.8-12.

FIG. 3D is a display rendering illustrating an example of an informationscreen 100 generated by an emergency preparedness application executingon an application processing module. The information screen 100 may beutilized to indicate emergency preparedness application options inregards to information and to prompt for user input to gatherinformation and to execute one or more portions of the emergencypreparedness application. The information screen 100 includes one ormore of a set of soft keys and a user device status area 60. The set ofsoft keys includes one or more of environment 102, local events 104,national events 106, live feeds 108, and search 110. A method ofoperation of the application processing module is discussed in greaterdetail with reference to FIGS. 13-15.

FIG. 3E is a display rendering illustrating an example of acommunication screen 112 generated by an emergency preparednessapplication executing on an application processing module. Thecommunication screen 112 may be utilized to indicate emergencypreparedness application options in regards to communication and toprompt for user input to communicate and to execute one or more portionsof the emergency preparedness application. The communication screen 112includes one or more of a set of soft keys and a user device status area60. The set of soft keys includes one or more of top issues 114, groupstatus 116, individual status 118, messaging 120, and send help 122. Amethod of operation of the application processing module is discussed ingreater detail with reference to FIGS. 16-18.

FIG. 3F is a display rendering illustrating an example of a drill screen124 generated by an emergency preparedness application executing on anapplication processing module. The drill screen 124 may be utilized toindicate emergency preparedness application options in regards todrilling and to prompt for user input to drill and to execute one ormore portions of the emergency preparedness application. The drillscreen 124 includes one or more of a set of soft keys and a user devicestatus area 60. The set of soft keys includes one or more of schedules126, initiate 128, participate 130, monitor 132, and tutorial 134. Amethod of operation of the application processing module is discussed ingreater detail with reference to FIGS. 19-21.

FIG. 4 is a flowchart illustrating an example of obtainingidentification information. A method begins with step 140 where aprocessing module (e.g., an application processing module of a userdevice) obtains a temporary set of group information, wherein groupinformation pertains to a group identifier (ID), and wherein the groupID is associated with a corresponding set of individual identifiers(IDs) of a plurality of individual IDs. The group information mayinclude one or more of a group ID, a group name, a geographic regionassociated with a group ID, a context association with a group ID, andcontact information. A group ID may be associated with a group type,wherein the group type may include one or more of a family, friends, aworkgroup, a company a community organization, a neighborhood, a city, aregion, a club, a common interest, and any other affiliatingcommonality. Each individual ID of the plurality of individual IDs maynot be associated with at least one group ID.

The obtaining the temporary set of group information further includesdetermining context information and identifying a set of group IDs ofthe temperate set of group information based on the context information.The context information includes one or more of location coordinates,current weather conditions, forecasted weather conditions, a sensorinput, date information, time information, a current activity, ascheduled activity, a current event, and a scheduled event. Thedetermining the context information includes at least one of querying anapplication server, receiving a message, a local memory lookup,receiving an input device output, receiving a user device sensor output,and decoding wireless location signals to produce location coordinates.For example, the processing module obtains the temporary set of groupinformation to include group ID 54 when location coordinates associatedwith group ID 54 are substantially the same as location coordinates ofthe context information.

Alternatively, or in addition to, the obtaining the temporary set ofgroup information includes at least one of receiving at least some ofthe temporary set of group information from a user input and retrievingthe temporary set of group information. The receiving includesfacilitating outputting a user prompt that includes at least some of thecontext information and receiving a group ID selection in a userresponse. The retrieving includes generating a group ID request thatincludes at least some of the context information; sending the group IDrequest to at least one of an information server, an application server,and another user device; and receiving a group ID response that includesa group ID.

The method continues at step 142 where the processing module obtains atleast one set of individual information, wherein individual informationpertains to an individual ID of the plurality of individual IDs. Theindividual information includes one or more of an individual ID, anindividual ID that is not associated with the temporary set of groupinformation, an individual name, a geographic region associated with anindividual ID, and contact information. The contact information mayinclude one or more of a voice telephone number, a short message service(SMS) telephone number, an internet protocol (IP) address, an emailaddress, a uniform resource locator (URL), and a facsimile (FAX)telephone number. The obtaining the at least one set of individualinformation includes receiving at least some of the at least one set ofindividual information from a user input and retrieving the at least oneset of individual information. Alternatively, or in addition to, theobtaining the at least one set of individual information furtherincludes obtaining (e.g., retrieving, generating) context informationand identifying (e.g., receiving, and retrieving) an individual ID ofthe at least one set of individual information based on the contextinformation.

The method continues at step 144 where the processing module obtains aset of group information associated with the at least one set ofindividual information based on the temporary set of group information.All individual IDs of the at least one set of individual information areassociated with at least one group ID. The obtaining the set of groupinformation associated with the at least one set of individualinformation includes at least one of outputting a user prompt thatincludes at least some of the temporary set of group information,extracting at least some of the temporary set of group information froma user input, and receiving a group ID selection user input thatincludes at least some of the temporary set of group information.Alternatively, or addition to, the obtaining the set of groupinformation associated with the at least one set of individualinformation further includes generating a group information requestbased on the at least one set of individual information, facilitatingoutputting the group information request (e.g., to at least one of aninformation server, an application server, and another user device), andreceiving a group information response that includes at least some ofthe temporary set of group information.

The method continues at step 146 where the processing module facilitatesstorage of one or more of context information associated with thetemporary set of group information, at least some of the temporary setof group information, at least some of the at least one set ofindividual information, and at least some of the group information. Themethod continues at step 148 where the processing module facilitatesdisplaying one or more individual IDs of the at least one set ofindividual information.

FIG. 5 is a flowchart illustrating an example of obtaining credentialinformation. A method begins at step 150 where a processing module(e.g., an application processing module of a user device) sends acredentials request message. The processing module may send thecredentials request message by one or more of sending the message to auser interface output (e.g., a display), sending a message to anotheruser device, sending the message to a user device memory, sending amessage to an information server, sending a message to an applicationserver, and sending the message to a remote application server. Thecredentials may include one or more of a user name, user access rights,a user title, a user role, user responsibilities, a password, anencryption key, user attributes, user capabilities, user certifications,a user training list, a user history, user limitations, user deviceattributes, and a user geographic location affiliation.

The method continues at step 152 where the processing module receivescredentials information. The processing module may receive thecredentials information from at least one of a user interface input(e.g., a touchscreen/keyboard), the user device memory, the another userdevice, the application server, the information server, and the remoteapplication server. The method continues at step 154 where theprocessing module stores the credentials information (e.g., in the userdevice memory, by sending the credentials information to one or more ofthe application server, the information server, and the remoteapplication server).

The method continues at step 156 where the processing module selectscredentials information to produce selected credentials information. Theselection may be based on one or more of context information (e.g.,location and a current event), a credentials type list, a desiredcredentials list, a credentials type, and a message. For example, theprocessing module selects the role credential when the role credentialtype substantially matches a credential list and wherein locationinformation indicates a favorable proximal location to an event. Themethod continues at step 158 where the processing module transformsselected credentials information to produce registration information.The registration information may include one or more of an individualidentifier (ID), the selected credentials information, and the desiredcredentials.

The method continues at step 160 where the processing module determinesa registration entity (e.g., a registration server, a registrationapplication running on the application server, the registrationapplication running on the remote application server, the registrationapplication running on another user device). The determination may bebased on one or more of the registration information, a registrationentity list, and a registration entity ID associated with the desiredcredentials. The method continues at step 162 where the processingmodule sends the registration information to the registration entity.The method continues at step 164 where the processing module processes aregistration response message from the registration entity. Theprocessing module processes the registration response message by one ormore of storing confirmation information in the user device memory,adding a new credential to a credential list, modifying an existingcredential, storing a security signature, storing a new password, andstoring a new encryption key.

The above described extraction process may provide an efficiencyimprovement in an emergency response phase whereby an individual isautomatically enabled to participate in a role acceptable to a group orauthority associated with an emergency event. For instance, a volunteercertified in cardiopulmonary resuscitation (CPR) is automaticallyenabled to assist authorities at the scene of the emergency event.

FIG. 6 is a flowchart illustrating an example of obtaining privacyinformation. A method begins with step 166 where a processing module(e.g., an application processing module of a user device) sends aprivacy information request message. The processing module may send theprivacy information request message by one or more of sending themessage to a user interface output (e.g., a display), sending a messageto another user device, sending the message to a user device memory,sending a message to an information server, sending a message to anapplication server, and sending the message to a remote applicationserver. The privacy information may include one or more of whichpersonal information to never disclose, which information to disclose toindividuals affiliated with a plurality of groups, which information todisclose to selected individuals, and which information to disclose toanyone. The personal information may include one or more of acapability, a role, time availability, location availability, locationsharing, group affiliations, user device attributes, encryption keys,passwords, signatures, and any other credentials information.

The method continues at step 168 where the processing module receivesthe privacy information and sorts the privacy information to producesorted privacy information. The sorting may be based on one or more of asorting priority, a message, a command, a user input, and contextinformation (e.g., location of an emergency event). For example, theprocessing module sorts the privacy information such that usercapabilities are never shared when the processing module determines thecontext information does not include a location indicator of anyemergency event within a location threshold of a current locationindicator. As another example, the processing module sorts the privacyinformation such that user capabilities are shared when the processingmodule determines the context information does include a locationindicator of an emergency event within the location threshold of thecurrent location indicator. The method continues at step 170 where theprocessing module stores the sorted privacy information (e.g., in theuser device memory, the application server, the information server, theremote application server).

The method continues at step 172 where the processing module identifiesshared information based on the sorted privacy information. For example,the processing module determines shared information when an informationtype associated with the shared information substantially matches aninformation type associated with the sorted privacy information. Forinstance, the processing module identifies location information when thesorted privacy information includes sharing the location informationtype. The method continues at step 174 where the processing moduleenables access to the shared information based on the identified sharedinformation. The enabling may include one or more of updating a statusindicator, setting a flag, and moving the shared information to a sharedinformation memory. Subsequent requests for information contained withinthe shared information result in responses including the sharedinformation.

The method continues at step 176 where the processing module identifiesnon-shared information based on the sorted privacy information. Forexample, the processing module determines non-shared information whenthe information type associated with the shared information does notmatch the information type associated with the sorted privacyinformation. For instance, the processing module identifiescertification information when the sorted privacy information does notinclude sharing the certification information type. The method continuesat step 178 where the processing module disables access to thenon-shared information based on the identified non-shared information.The disabling may include one or more of updating a status indicator,setting a flag, and moving the non-shared information to a non-sharedinformation memory. Subsequent requests for information contained withinthe non-shared information result in responses that do not include thenon-shared information.

FIG. 7 is a flowchart illustrating an example of obtaining feedsinformation. A method begins with step 180 where a processing module(e.g., an application processing module of a user device) obtainscontext information, association information, and credentialsinformation. Alternatively, the processing module may obtain the contextinformation, the association information, and the credentialsinformation by one or more of an application server query, andinformation server query, a remote application query, the user devicequery, and a user device memory lookup. The method continues at step 182where the processing module determines available feeds. The availablefeeds includes feed identifiers (IDs) associated with one or moreinformation streams (e.g., text streams, audio streams, picture streams,video streams, multimedia streams, etc.). For instance, a weatherinformation stream is associated with a first feed ID. As anotherinstance, an emergency event information stream associated with a secondfeed ID. The determination of available feeds may be based on one ormore of an application server query, an information server query, aremote application server query, a feed stream, a list, and a message.

The method continues at step 184 where the processing module determinesrecommended feeds based on the context information. The determinationmay be based on one or more of a favorable comparison of available feedsto one or more of the context information, the association information,and the credentials information. Recommended feeds include a subset ofthe available feeds, wherein recommended feeds may include a favorablerelationship. As an example, the processing module determines arecommended feed to include a weather information stream when thecontext information indicates proximal location to a severe weathersystem. As another example, the processing module determines therecommended feed to include a train derailment emergency eventinformation stream when the context information indicates proximallocation to a train derailment and the credentials information indicatesa favorable emergency response credential.

The method continues at step 186 where the processing module sends afeeds information request message that includes the recommended feeds.For example, the processing module sends the information request messagesuch that the recommended feeds are indicated on a user device display.Alternatively, or in addition to, the processing module sends the feedsinformation request message that includes the recommended feeds and theavailable feeds. The method continues at step 188 where the processingmodule receives selected feeds information (e.g., from a user interfaceinput, from an application server, from an information server). Forexample, the processing module receives the selected feeds informationvia a user device touchscreen input. The method continues at step 190where the processing module stores the selected feeds information (e.g.,in a user device memory, in an application server, and an informationserver).

The method continues at step 192 where the processing module facilitatesreceiving an information feed based on the selected feeds information.The facilitation may include one or more of sending a subscriptionrequest message to an information server, receiving a subscriptionresponse message from the information server, receiving an informationstream, and extracting the information feed from the information stream.Alternatively, or in addition to, the processing module displays aportion of the information feed on a user interface output (e.g., acolor display). The method continues at step 194 where the processingmodule facilitates storing information feed (e.g., in the user devicememory, sending a storage message to an application server, sending theinformation feed to the information server).

FIG. 8 is a flowchart illustrating an example of selecting a tutorial. Amethod begins with step 196 where a processing module (e.g., anapplication processing module of a user device) obtains contextinformation, association information, credentials information, and aninformation feed. Alternatively, the processing module may obtain theinformation feed by one or more of an application server query, andinformation server query, a remote application query, the user devicequery, and a user device memory lookup. The method continues at step 198where the processing module determines available tutorials. Availabletutorials includes tutorial identifiers (IDs) associated with one ormore tutorials. For instance, an earthquake tutorial is associated witha first tutorial ID. As another instance, a hurricane tutorial isassociated with a second tutorial ID. The determination of availabletutorials may be based on one or more of an application server query, aninformation server query, a remote application server query, a feedstream, a list, and a message.

The method continues at step 200 where the processing module determinesrecommended tutorials based on the context information. Thedetermination may be based on one or more of a favorable comparison ofavailable tutorials to one or more of the context information, theassociation information, the credentials information, and informationwithin the information feed (e.g., an earthquake alert, a hurricanealert). Recommended tutorials include a subset of the availabletutorials, wherein recommended tutorials may include a favorablerelationship. For example, the processing module determines arecommended tutorial to include the earthquake tutorial when the contextinformation indicates proximal location to an earthquake fault line. Asanother example, the processing module determines the recommendedtutorial to include the hurricane tutorial when the context informationindicates proximal location to a hurricane event and the credentialsinformation indicates a favorable emergency response credential.

The method continues at step 202 where the processing module sends aselected tutorials request message that includes the recommendedtutorials. For example, the processing module sends the selectedtutorials request message such that the recommended tutorials areindicated on a user device display. Alternatively, or in addition to,the processing module sends the selected tutorials request message thatincludes the recommended tutorials and the available tutorials. Themethod continues at step 204 where the processing module receivesselected tutorial information (e.g., from a user interface input, froman application server, from an information server). For example, theprocessing module receives the selected tutorial information via a userdevice touchscreen input.

The method continues at step 206 where the processing module facilitatesinitializing a tutorial based on the selected tutorial information. Thefacilitation may include one or more of sending a tutorial requestmessage to an information server, receiving a tutorial response messagefrom the information server, extracting the tutorial from the responsemessage, and initializing the tutorial. The processing module maydisplay tutorial information of the tutorial on the user interfaceoutput. The method continues at step 208 where the processing modulemodifies the tutorial based on one or more of the context information,the association information, the credentials information, and theinformation feed. For example, the processing module skips portions ofthe tutorial plan location information of the context informationcompares unfavorably to a proximal location indicator. For instance, theprocessing module skips a portion of the tutorial affiliated with coolerclimates when the proximal location indicates a warmer climate. Asanother example, the processing module adds a portion of the contextinformation to the tutorial. For instance, the processing module addsthe location information to the tutorial and calculates geographicrelationships of one or more locations cited in the tutorial with thelocation information.

FIG. 9 is a flowchart illustrating an example of selecting a checklist,which include similar steps to FIG. 8. The method begins with step 196of FIG. 8 where a processing module (e.g., an application processingmodule of a user device) obtains context information, associationinformation, credentials information, and an information feed. Themethod continues at step 210 where the processing module determinesavailable checklists. The available checklists includes checklistidentifiers (IDs) associated with one or more checklists. For example, ahome checklist is associated with a first checklist ID. As anotherexample, a workplace checklist is associated with a second checklist ID.The determination of available checklists may be based on one or more ofan application server query, an information server query, a remoteapplication server query, a feed stream, a list, and a message.

The method continues at step 212 where the processing module determinesrecommended checklists based on the context information. Thedetermination may be based on one or more of a favorable comparison ofavailable checklists to one or more of the context information, theassociation information, the credentials information, and informationwithin the information feed (e.g., a tornado alert, a wildfire alert).The recommended checklists include a subset of the available checklists,wherein recommended checklists may include a favorable relationship. Forexample, the processing module determines the recommended checklists toinclude a tornado checklist when the context information indicatesproximal location to a geographic area with a history of frequenttornadoes. As another example, the processing module determines therecommended checklists to include a wildfire checklist when theinformation feed indicates a wildfire event within a proximal locationthreshold and the credentials information indicates a favorableemergency response credential.

The method continues at step 214 where the processing module sends aselected checklists request message that includes the recommendedchecklists. For example, the processing module sends the selectedchecklists request message such that the recommended checklists areindicated on a user device display. Alternatively, or in addition to,the processing module sends the selected checklists request message thatincludes the recommended checklists and the available checklists. Themethod continues at step 216 where the processing module receivesselected checklists information (e.g., from a user interface input, froman application server, from an information server). For example, theprocessing module receives the selected checklists information from aspeech recognition algorithm utilizing a user device microphone input.The checklists information may include one or more of emergencypreparedness items (e.g., food, water, clothing, tools, etc.), contacts,rally points, resources, associated tutorial IDs, and certificationitems.

The method continues at step 218 where the processing module facilitatesinitializing a checklist session based on the selected checklistsinformation. The facilitation may include one or more of sending achecklist request message to an information server, receiving achecklist response message from the information server, extracting achecklist from the response message, and initializing the checklistsession. The processing module may display checklist information of thechecklist on the user interface output. The method continues at step 220where the processing module modifies the checklist based on one or moreof the context information, the association information, the credentialsinformation, and the information feed. For example, the processingmodule skips portions of the checklist session when the contextinformation compares unfavorably to a proximal location indicator. Forinstance, the processing module skips a portion of the checklistaffiliated with water emergencies when the proximal location indicatesno water nearby. As another example, the processing module adds aportion of the context information to the checklist. For instance, theprocessing module adds the location information to the checklist andcalculates geographic relationships of one or more locations (e.g.,resource locales) cited in the checklist with the location information.

FIG. 10 is a flowchart illustrating an example of selecting resources. Amethod begins with step 222 where a processing module (e.g., anapplication processing module of a user device) obtains contextinformation, association information, credentials information,checklists, and an information feed. Alternatively, or in addition to,the processing module may retrieve checklists from one or more of a userdevice memory, an application server, and information server, and aremote application server. The method continues at step 224 where theprocessing module determines available resource lists. The availableresource lists includes resource list identifiers (IDs) associated withone or more resource lists. For instance, a city resource list isassociated with a first resource list ID. As another instance, a countyresource list is associated with a second resource list ID. Thedetermination of available resource lists may be based on one or more ofa user device query, the application server query, the informationserver query, the remote application server query, a feed stream, alist, and a message.

The method continues at step 226 where the processing module determinesrecommended resource lists based on the context information. Thedetermination may be based on one or more of a favorable comparison ofthe available resource lists to one or more of the context information,the association information, the credentials information, content of thechecklists, and information within the information feed (e.g., a winterstorm alert, a high wind advisory). The recommended resource listsincludes a subset of the available resource lists, wherein recommendedresource lists may include a favorable relationship. For example, theprocessing module determines a recommended resource list to include awinter storm resource list when the context information indicatesproximal location to a geographic area with a history of severe winterstorms. As another example, the processing module determines therecommended resource lists to include a high wind resource list when theinformation feed indicates a high wind event within a proximal locationthreshold and the credentials information indicates a favorableemergency response credential.

The method continues at step 228 where the processing module sends aselected resource list request message that includes the recommendedresource lists. For example, the processing module sends the selectedresource list request message such that the recommended resource listsare indicated on a user device display. Alternatively, or in additionto, the processing module sends the selected resource list requestmessage that includes the recommended resource lists and the availableresource lists. The method continues at step 230 where the processingmodule receives selected resource list information (e.g., from a userinterface input, from the application server, from the informationserver). For example, the processing module receives the selectedresource list information from an information server associated withlocation information. The resource list information may include one ormore of emergency response phase assets and/or emergency recovery phaseassets (e.g., heavy equipment, vehicles, construction materials, tools,etc.), leadership contacts, staging area locations, training drillsites, funding sources, federal government contacts, state governmentcontacts, local government contacts, industry contacts, and phaseassignment roles.

The method continues at step 232 where the processing module facilitatesinitializing a resource list review session based on the selectedresource list information. The facilitation may include one or more ofsending a resource list request message to an information server,receiving a resource list response message from the information server,extracting a resource list from the response message, and initializingthe resource list review session. The processing module may displayresource list information of the resource list on the user interfaceoutput. The method continues at step 234 where the processing modulemodifies the resource list based on one or more of the contextinformation, the association information, the credentials information,and the information feed. For example, the processing module skipsportions of the resource list review session when the contextinformation compares unfavorably to a proximal location indicator. Forinstance, the processing module skips a portion of the resource listreview session affiliated with ice rescue emergencies when the proximallocation indicates no freezing temperatures nearby. As another example,the processing module adds a portion of the context information to theresource list review session. For instance, the processing module addsthe location information to the resource list and calculates geographicrelationships of one or more locations (e.g., resource locales) cited inthe resource list with the location information.

Alternatively, or in addition to, the processing module may receiveresource list modification inputs from a user device input and updatethe resource list accordingly. Next, the processing module sends theupdated resource list to one or more of another user device (e.g.,seeking and/or providing resources), the information server (e.g., topost resource needs), and the application processor (e.g., to modify aresource list and context association).

FIG. 11 is a flowchart illustrating an example of determining scenariosinformation. A method begins with step 236 where a processing module(e.g., an application processing module of a user device) obtainscontext information, association information, credentials information,checklists, resource lists, and an information feed. Alternatively, orin addition to, the processing module may retrieve the resource listsfrom one or more of a user device memory, an application server, aninformation server, and a remote application server. The methodcontinues at step 238 where the processing module determines a possiblescenarios list. The possible scenarios list includes scenarioidentifiers (IDs) associated with one or more scenarios associated withthe possible scenario list. For instance, a send help scenario isassociated with a first scenario ID. As another instance, a severeweather scenario is associated with a second scenario ID. Thedetermination of the possible scenarios list may be based on one or moreof a user device query, the application server query, the informationserver query, the remote application server query, a feed stream, alist, and a message.

The method continues at step 240 where the processing module determinesrecommended scenarios based on the context information. Thedetermination may be based on one or more of a favorable comparison ofthe possible scenarios list to one or more of the context information,the association information, the credentials information, content of thechecklists, resources of the resource list, and information within theinformation feed (e.g., a crime alert, a school lockdown). Recommendedscenarios include a subset of the possible scenarios list, whereinrecommended scenarios may include a favorable relationship. For example,the processing module determines the recommended scenarios to include asend help scenario when the context information indicates proximallocation to a geographic area with a history of violent crime. Asanother example, the processing module determines the recommendedscenarios to include a school lockdown scenario when the informationfeed indicates a school lockdown event within a proximal locationthreshold and the credentials information indicates a favorable schoolaffinity.

The method continues at step 242 where the processing module sends aselected scenarios information request message that includes therecommended scenarios. For example, the processing module sends theselected scenarios information request message such that the recommendedscenarios are indicated on a user device display. Alternatively, or inaddition to, the processing module sends the selected scenariosinformation request message that includes the recommended scenarios andthe possible scenarios list.

The method continues at step 244 where the processing module receivesselected scenarios information (e.g., from a user interface input, fromthe application server, from the information server). For example, theprocessing module receives the selected scenarios information from aninformation server associated with location information. The selectedscenarios information includes scenario references and/or scenariodescriptions (e.g., during a planning phase, a response phase, arecovery phase), scenario triggers, and responsive actions. As anexample, a send help scenario includes a user input scenario trigger anda responsive action that includes sending a help message to a list ofhelp target IDs. As another example, an extreme weather scenarioincludes a weather service alert input scenario trigger and a responsiveaction that includes selecting a checklist and tutorial associated witha weather alert type of an associated weather service alert. As yetanother example, an earthquake scenario includes a state governmentearthquake alert input scenario trigger and a responsive action thatincludes selecting a group ID (e.g., a family ID) to determine and sharestatus and location information.

The method continues at step 246 where the processing module facilitatesinitializing a scenarios review session based on the selected scenariosinformation. The facilitating may include one or more of sending ascenarios information request message to an information server,receiving a scenarios information response message from the informationserver, extracting scenarios information from the response message, andinitializing the scenarios review session. The processing module maydisplay scenarios information on the user interface output.

The method continues at step 248 where the processing module modifiesthe scenarios information based on one or more of the contextinformation, the association information, the credentials information,the resources information, and the information feed. For example, theprocessing module skips portions of the scenarios review session whenthe context information compares unfavorably to a proximal locationindicator. For instance, the processing module skips a portion of thescenarios review session affiliated with earthquake emergencies when theproximal location indicates few or no earthquake fault lines nearby. Asanother example, the processing module adds a portion of the contextinformation to the scenarios review session. For instance, theprocessing module adds the location information to the scenariosinformation and calculates geographic relationships of one or morelocations (e.g., help resources) cited in a resource list associatedwith a scenario.

Alternatively, or in addition to, the processing module may receivescenario information modification inputs from a user device input andupdate the scenario information accordingly. Next, the processing modulesends the updated scenario information to one or more of another userdevice, the information server (e.g., to download later), and theapplication processor (e.g., to modify a scenario list and contextassociation).

FIG. 12 is a flowchart illustrating an example of determining schedulesinformation. A method begins with step 250 where a processing module(e.g., an application processing module of a user device) obtainscontext information, association information, credentials information,checklists, resource lists, scenarios information, and an informationfeed. Alternatively, or in addition to, the processing module mayretrieve the scenarios information from one or more of a user devicememory, an application server, an information server, and a remoteapplication server. The method continues at step 252 where theprocessing module determines a possible schedules list. The possibleschedules list includes schedule identifiers (IDs) associated with oneor more schedules associated with the possible schedules list. Forinstance, a drill schedule is associated with a first schedule ID. Asanother instance, a tutorial schedule is associated with a secondschedule ID. As yet another instance, a checklist refresh schedule isassociated with a third schedule ID. As a still further instance, aresource list refresh schedule is associated with a fourth schedule ID.The determining of the possible schedules list may be based on one ormore of a user device query, the application server query, theinformation server query, the remote application server query, a feedstream, a list, and a message.

The method continues at step 254 where the processing module determinesrecommended schedules to update based on the context information. Thedetermining may be based on one or more of a favorable comparison of thepossible schedules list to one or more of the context information, theassociation information, the credentials information, content of thechecklists, resources of the resource list, scenarios of the scenariosinformation, and information within the information feed (e.g., a drillalert, a new tutorial announcement). The recommended schedules include asubset of the possible schedules list, wherein recommended schedules mayinclude a favorable relationship. For example, the processing moduledetermines the recommended schedules to include a drill schedule whenthe context information indicates proximal location to a governmentauthority hosting an upcoming drill. As another example, the processingmodule determines the recommended schedules to include a scenariosupdate schedule when the information feed indicates an upcoming resourceplanning event within a proximal location threshold and the credentialsinformation indicates a favorable credential with respect to theresource planning event.

The method continues at step 256 where the processing module sends anupdate schedule information request message that includes therecommended schedules. For example, the processing module sends theupdate schedule information request message such that the recommendedschedules are indicated on a user device display. Alternatively, or inaddition to, the processing module sends the update schedule informationrequest message that includes the recommended schedules and the possibleschedules list. The method continues at step 258 where the processingmodule receives selected schedules information (e.g., from a userinterface input, from the application server, from the informationserver). For example, the processing module receives the selectedschedules information from an information server associated with drillschedules information. The selected schedules information includesschedule references and/or schedule descriptions (e.g., during aplanning phase, a response phase, a recovery phase). As an example, theprocessing module receives the selected schedules information includinga checklist update schedule reference.

The method continues at step 260 where the processing module facilitatesinitializing a scheduling session based on the selected scheduleinformation. The facilitating may include one or more of sending aschedules information request message to an information server,receiving a schedules information response message from the informationserver, extracting schedules information from the response message, andinitializing the scheduling session. The processing module may displayschedules information via the user interface output. The methodcontinues at step 262 where the processing module modifies the schedulesinformation based on one or more of the context information, theassociation information, the credentials information, the resourcesinformation, the scenarios information, and the information feed. Forexample, the processing module skips portions of the scheduling sessionwhen the context information compares unfavorably to a proximal locationindicator. For instance, the processing module skips a portion of thescheduling session affiliated with drills when the proximal locationindicates few or no earthquake fault lines nearby. As another example,the processing module adds a portion of the context information to thescheduling information. For instance, the processing module adds thelocation information to the scheduling information and calculatesgeographic relationships of one or more locations (e.g., participatingdrill authorities) cited in a drill schedule associated with a schedule.

Alternatively, or in addition to, the processing module may receiveschedule information modification inputs from a user device input andupdate the scheduling information accordingly. Next, the processingmodule sends the updated scheduling information to one or more ofanother user device, the information server (e.g., to download later),and the application processor (e.g., to modify a possible schedules listand context association).

FIG. 13 is a flowchart illustrating an example of determiningenvironmental information. A method begins with step 264 where aprocessing module (e.g., an application processing module of a userdevice) obtaining context information, association information,credentials information, checklists, resource lists, scenariosinformation, schedule information, and an information feed.Alternatively, or in addition to, the processing module may retrieve theschedule information from one or more of a user device memory, anapplication server, an information server, and a remote applicationserver. The method continues at step 266 where the processing moduledetermines a region based on group location. The region specifies ageographic area associated with a group. For example, the region is acircle wherein the circle is specified by coordinates (e.g., longitudeand latitude) of a center location and a radius distance from the centerlocation. As another example, the region is specified by an arbitraryboundary around the region (e.g., a continuum of longitude and latitudecoordinates). As yet another example, the region is specified by agovernmental jurisdiction (e.g., one or more city blocks, one or moreneighborhoods, one or more cities, one or more counties, one or morestates). The determining of the region may be based on one or more ofdetermining individuals affiliated with the group, obtaining individuallocation information associated with at least some individualsaffiliated with the group, and determining the region based on theindividual location information. For example, the processing moduledetermines the individuals associated with the group based on a groupaffiliation table lookup in a user device memory. Next, the processingmodule sends an individual location information request message to userdevices associated with at least some of the individuals associated withthe group. The processing module receives a plurality of individuallocation information response messages to produce a plurality ofindividual location information. The processing module determines theregion such that the region encompasses the plurality of individuallocation information.

The method continues at step 268 where the processing module determinesweather information based on the region. The weather information mayinclude one or more of current weather conditions, weather forecasts,weather alerts, weather advisories, weather history, and a weatherdictionary. The determining may be based on one or more of the region, aquery to one or more weather information servers, receiving an internetbroadcast, receiving a wireless broadcast. For example, the processingmodule sends a weather information request message to the weatherinformation server wherein the weather information request messageincludes the region. The processing module receives a weatherinformation response message that includes the weather information.

The method continues at step 270 where the processing module determineschecklist highlights and resource needs based on the weatherinformation. The checklist highlights includes selected checklist itemswith more relative importance than remaining checklist items withregards to the weather information. The resource needs includes selectedresources with more relative importance than remaining resources withregards to the weather information. The determining may be based on oneor more of the weather information, a checklist, a resource list, achecklist item to weather information correlation list, a resource itemto weather information correlation list, and a favorable comparison ofthe weather information to one or more checklist items or to one or moreresource list items. For example, the processing module determines thechecklist highlights to include a raingear checklist item when theweather information indicates heavy rain in the region. As anotherexample, the processing module determines the resource needs to includeheavy snow removal machinery when the weather information indicates ahigh avalanche risk in the region.

The method continues at step 272 where the processing module displaysthe weather information, the checklist highlights, and the resourceneeds. Alternatively, or in addition to, the processing module sends theweather information, the checklist highlights, and the resource needs toone or more of the user devices associated with individuals affiliatedwith the group. The method continues at step 274 where the processingmodule sends a resource needs message to one or more of another userdevice, the application server, information server, and the remoteapplication server, wherein the resource needs message includes one ormore of the resource needs, the weather information, an individualidentifier (ID), and a group ID.

FIG. 14 is a flowchart illustrating an example of determining eventinformation. A method begins with step 276 where a processing module(e.g., an application processing module of a user device) obtaining acontext bundle that includes context information, associationinformation, credentials information, checklists, resource lists,scenarios information, schedule information, weather information, and aninformation feed. Alternatively, or in addition to, the processingmodule may retrieve the weather information from one or more of a userdevice memory, an application server, an information server, and aremote application server.

The method continues at step 278 where the processing module sends anevent information request message including at least a portion of thecontext bundle. For example, the processing module sends the eventinformation request message to the information server, wherein the eventinformation request message includes an individual identifier (ID), agroup ID, location information, and a credential. The information serverreceives the event information request message and determines eventinformation based on the event information request message and eventinformation within the information server. For example, informationserver determines the event information to include events within adistance threshold of a location specified by the location informationwhen the credential compares favorably to a credential authorizationlist for the individual ID.

The event information may include one or more of an event ID, an eventdescription, an event type, an event location, event resources required,event issues, event responsible individuals, event chain of command, andevent timeline information. The event type may include one or more of aflood, a hailstorm, a rainstorm, a snowstorm, high winds, a tornado, ahurricane, an earthquake, a landslide, a wildfire, a forest fire, abuilding fire, an explosion, a train derailment, a traffic accident, abuilding collapse, a bombing, a hazardous substance, a chemical spill, abiological threat, and a nuclear threat. Next, the information serversends an event information response message to the processing module,wherein the event information response message includes the eventinformation.

The method continues at step 280 where the processing module receivesthe event information response message. The method continues at step 282where the processing module displays the event information in accordancewith the context bundle. For example, the processing module displays theevent information in a ranked order with respect to distance from thelocation information. As another example, the processing module displaysthe event information in a ranked order with respect to an associationwith one or more credentials of the credentials information. Forinstance, the processing module ranks events associated with fire aboveother events when the credential information indicates a fire serviceassociation (e.g., a volunteer firefighter). As another example, theprocessing module displays the event information in a ranked order withrespect to resources of the resource list. For instance, the processingmodule ranks events associated with resource needs for paramedics when aresource of the resource list indicates a paramedic capability.

FIG. 15 is a flowchart illustrating an example of selecting live feedinformation, which includes similar steps to FIG. 14. The method beginswith step 276 of FIG. 14 where a processing module (e.g., an applicationprocessing module of a user device) obtains a context bundle. The methodcontinues at step 284 where the processing module sends a live feed listrequest message, wherein the live feed request message includes at leasta portion of the context bundle. The live feed may include a real-timeinformation flow from one or more of a federal government entity, astate government entity, a local government entity, and a private sectorentity (e.g., an internet radio source, an internet information source,a broadcast network, etc.).

A format of the live feed may include one or more of a text stream, anaudio stream, a picture stream, a video stream, and a multimedia stream.For example, the processing module sends the live feed list requestmessage to an application server, wherein the live feed list requestmessage includes location information associated with a user device. Asanother example, the processing module sends the live feed list requestmessage to an information server, wherein the live feed list requestmessage includes credentials information associated with the userdevice. The application server and/or the information server receivesthe live feed list request message and determines a plurality of livefeeds based on the at least the portion of the context bundle. Forexample, the application server determines the plurality of live feedsassociated with at least a location within a distance threshold oflocation information of the context bundle. As another example, theinformation server determines the plurality of live feeds associatedwith a credential (e.g., a first aid relief worker) of the contextbundle.

The method continues at step 286 where the processing module receives alive feed list response message that includes identifiers (IDs) of theplurality of live feeds. The method continues at step 288 where theprocessing module prompts for live feed selections to produce selectedlive feeds. For example, the processing module displays live feedinformation (e.g., a live feed name, a live feed description) associatedwith the IDs of the plurality of live feeds rank ordered by relevance tothe context bundle. For instance, the processing module rank orders livefeeds that are associated with locations that compare more favorably(e.g., closer) to the location information of the context bundle beforeother live feeds. As another instance, the processing module rank orderslive feeds that are associated with a group ID of associationinformation of the context bundle before other live feeds. Next, theprocessing module receives selected live feed IDs (e.g., from an inputuser interface).

The method continues at step 300 where the processing module sends theselected live feed IDs (e.g., to the application server and/or to theinformation server). The method continues at step 302 where theprocessing module receives live feed information (e.g., streaminginformation). The method continues at step 304 where the processingmodule displays the live feed information in accordance with the contextbundle. For example, the processing module always displays the live feedinformation as a scroll of text across the bottom of a color displayassociated with a user device. As another example, the processing moduleonly displays the live feed information on screens associated withhigher priority context bundle information. For instance, the processingmodule displays drilling event associated live feed information when acurrently active screen includes drill information and/or drillselection. As another instance, the processing module displays highpriority weather alert associated live feed information on all screens.

FIG. 16 is a flowchart illustrating an example of obtaining top issuesinformation, which includes similar steps to FIG. 14. The method beginswith step 276 of FIG. 14 where a processing module (e.g., an applicationprocessing module of a user device) obtaining a context bundle. Themethod continues at step 306 where the processing module obtains localtop issues. The top issues include high-priority problems with respectto a user and/or a group. The obtaining may be based on one or more of auser input, a resource list, local environmental information, and localevent information. For example, the processing module obtains local topissues via a user input that includes a need for medical attention. Asanother example, the processing module obtains local top issues byextracting the local environmental information from weather informationand/or from one or more user device sensors (e.g., a barometer, atemperature sensor). For instance, the local environmental informationindicates a temperature above 110° F. As another example, the processingmodule obtains local top issues by extracting a resource need from aresource list. For instance, the resource need indicates a need for moredrinking water.

The method continues at step 308 where the processing module sends a topissues request message that includes the local top issues. For example,the processing module sends the top issues request message to aninformation server. Next, the information server aggregates the topissues request message with other top issues request messages to produceaggregated top issues. The information server sends a top issuesresponse message that includes the aggregated top issues to theprocessing module. The method continues at step 310 where the processingmodule receives the top issues response message.

The method continues at step 312 where the processing module displaysthe aggregated top issues in accordance with the context bundle. Forexample, the processing module displays issues of the aggregated topissues in a rank order starting with issues that are associated withuser capabilities of the context bundle. For instance, the processingmodule displays issues associated with a user capability of driving atruck first when the issues are associated with a need for a resource todrive a truck. As another example, the processing module displays issuesof the aggregated top issues in a rank order starting with issues thatare associated with events within a geographic distance threshold oflocation information of a group identifier (ID) of the context bundle.For instance, the processing module displays issues associated withevents that are within 5 miles of individuals affiliated with group ID457 first.

FIG. 17 is a flowchart illustrating an example of obtaining statusinformation, which includes similar steps to FIG. 14. The method beginswith step 276 of FIG. 14 where a processing module (e.g., an applicationprocessing module of a user device) obtains a context bundle. The methodcontinues at step 314 where the processing module obtains local status.The local status includes status of an individual and/or a group. Thestatus may include an indicator of a status of a user of a user deviceincluding one or more of okay, not okay, need help, don't need help,online, and off-line. The obtaining may be based on one or more of auser input, local environmental information, a list, and local eventinformation. For example, the processing module obtains local statusinformation via a user input that includes the not okay indicator andtext indicating a need for medical attention. As another example, theprocessing module obtains local status information by extracting thelocal environmental information from weather information and/or from oneor more user device sensors (e.g., a barometer, a temperature sensor).For instance, the local environmental information indicates a barometricpressure sensor output within a predicted range of weather information.

The method continues at step 316 where the processing module sends astatus request message that includes the local status information. Forexample, the processing module sends the status request message to aninformation server. Next, the information server aggregates the statusrequest message with other status request messages to produce aggregatedstatus information. The information server sends a status responsemessage that includes the aggregated status information to theprocessing module.

The method continues at step 318 where the processing module receivesthe status response message. The method continues at step 320 where theprocessing module displays the aggregated status information inaccordance with the context bundle. For example, the processing moduledisplays individual status information for individuals affiliated with agroup identifier (ID) associated with the processing module. Forinstance, the processing module displays names along with a colored iconwherein a color of the colored icon color represents a status condition(e.g., red or not okay, green for okay, yellow for getting help,flashing forward no recent status). Alternatively, or in addition to,the processing module displays the individual status information and atext message of an individual associated with the individual statusinformation. For instance, the processing module displays a name withthe red colored icon along with a short text message “need medicalattention.” As another example, the processing module displays nameswith the colored icon in a rank order starting with names that arewithin a geographic distance threshold of location information of anindividual ID of the context bundle (e.g., a user device associated withthe processing module). For instance, the processing module displaysnames affiliated with group ID 457 that are within 5 miles of the userdevice. As yet another example, the processing module displays nameswith the colored icon on a map, wherein the icon is placed on the map ata location indicated by the status information associated with thecorresponding name.

FIG. 18 is a flowchart illustrating an example of selecting messagetargets, which includes similar steps to FIG. 14. The method begins withstep 276 of FIG. 14 where a processing module (e.g., an applicationprocessing module of a user device) obtains a context bundle. The methodcontinues at step 322 where the processing module displays receivedmessages in accordance with the context bundle by routing receivedmessages to at least one user interface output. The receive messages mayinclude one or more of text messages, short message service (SMS)messages, data messages, telemetry messages, encrypted messages, emailmessages, voicemail messages, voice dispatch messages, broadcastmessages, many-to-one messages, and one-to-many messages. For example,the processing module displays received text messages rank ordered bygroup identifiers (IDs) associated with a user device. In anotherexample, the processing module displays received SMS messages rankordered by distance proximity of a location associated with an eventassociated with each SMS message to location information of the userdevice.

The method continues at step 324 where the processing module obtainstarget user device IDs in accordance with the context bundle. The targetuser device ID includes a user device ID associated with an intendedrecipient of a subsequent message. The obtaining may include one or moreof receiving a user interface input (e.g., text entry), retrieving alist, utilizing a predetermination, looking up one or more individualIDs affiliated with a group ID of the context bundle, and receiving auser interface input in response to displaying recommended one or moreindividual IDs affiliated with the user device and/or event associatedwith the user device.

The method continues at step 326 where the processing module obtainsmessaging user input. The obtaining may include or more of receiving auser interface input (e.g., free-form text), retrieving a predeterminedmessage, selecting a message from a message list in accordance with astatus of the context bundle, and selecting a message from the messagelist in accordance with location information of the context bundle. Forexample, the processing module obtains the messaging user input based onselecting a location message from the message list, wherein themessaging user input includes text of “I'm okay and at Main Street andSixth Avenue” when the location information indicates global positioningsatellite (GPS) data corresponding to a location at Main Street andSixth Avenue and status information of the context bundle indicates anokay status.

The method continues at step 328 where the processing module determinesa user message in accordance with a context bundle that includes themessaging user input. For example, the processing module aggregates themessaging user input with at least some of the context bundle to producethe user message. For instance, the processing module aggregates themessaging user input text of “our family is to meet at the Church Streetrally point as soon as possible”, the location information of thecontext bundle, and status information of the context bundle to producethe user message.

The method continues at step 330 where the processing module sends theuser message to the target user device IDs. For example, the processingmodule sends the user message to user device IDs affiliated with afamily group ID. Alternatively, or in addition to, processing modulesends the user message to the family group ID as a target ID. As anotherexample, the processing module sends a message of the message list inaccordance with a button push detection or sensor value detection of thecontext bundle. For instance, the processing module sends a text of“send help” along with location information when a send help button isactivated. As another instance, the processing module sends the text of“send help” along with the location information when an accelerometersensor of a user device detects an SOS Morse code pattern within ashaking sequence.

Alternatively, or in addition to, the processing module sends locationinformation and other portions of the context bundle to an applicationserver from time to time. Next, the application server identifiesmessages and/or message streams associated with the locationinformation. The application server sends the messages and/or messagestreams to the processing module. In an example of operation, theprocessing module sends the application server a public safetycredential of the context bundle and location information every twominutes. Next, the application server verifies (e.g., via an accesscontrol list lookup) that the public safety credential authorizes a userdevice associated with the public safety credential to monitor publicsafety communications. The application server sends a public safety wascommunications message stream to the user device associated with theprocessing module. The processing module receives the message stream androutes the voice message stream to a speaker of the user device.

FIG. 19 is a flowchart illustrating an example of initiating a drillsequence, which includes similar steps to FIG. 14. The method beginswith step 276 of FIG. 14 where a processing module (e.g., an applicationprocessing module of a user device) obtains a context bundle. The methodcontinues at step 332 where the processing module obtains drillparameters. The drill parameters may include one or more of individualidentifiers (IDs), group IDs, a start time, an end time, a drill type, adrill location, drill constraints, and a drill template. The obtainingmay be based on one or more of receiving a user input, a query, a list,and a message.

The method continues at step 334 where the processing module sends adrill request message. The drill request message may include one or moreof the drill parameters, an individual ID, a group ID, and at least aportion of the context bundle. For example, the processing module sendsthe drill request message to an application server. Next the applicationserver processes the drill request message to produce a drill responsemessage. The drill response message may include one or more of a drillID, drill parameters, and an existing or new drill indicator. Forinstance, the application server produces the drill response message toinclude the new drill indicator when active drills include associateddrill parameters that compare unfavorably to the drill parameters (e.g.,requested by the processing module). As another instance, applicationserver produces the drill response message to include an existing drillindicator and associated drill ID when an active drill includesassociated drill parameters that compare favorably to the drillparameters. The application server sends the drill response message tothe processing module.

The method continues at step 336 for the processing module receives thedrill response message. The method continues at step 338 where theprocessing module receives a drill update message wherein the drillupdate message includes one or more of a drill ID, drill parameters, adrill state, drill issue, a drill question, desired drill outcomes, andactual drill outcomes. Next, the processing module displays at leastsome of the drill update message. The processing module receives drillinput in response to displaying at least some of the drill updatemessage. For instance, a user interface input receives a text streamindicating a next move in the drill in response to the drill question.The method continues at step 340 where the processing module sends adrill input message when a drill engagement indicator indicatesparticipation in the drill rather than monitoring the drill. The drillinput message may include one or more of an individual ID, a group ID, aportion of the context bundle, drill question answers, comments,resource list, commands, instructions, requests, status, and otherinput.

FIG. 20 is a flowchart illustrating an example of participating in adrill sequence, which includes similar steps to FIGS. 14 and 19. Themethod begins with step 276 of FIG. 14 where a processing module (e.g.,an application processing module of a user device) obtains a contextbundle. The method continues at step 342 where the processing modulesends an identify drill request message that includes at least a portionof the context bundle. For example, the processing module sends theidentify drill request message to an application server that includes anindividual identifier (ID), a group ID, and an emergency medical teamcredential. Next, the application server identifies a plurality of drillIDs of active drills in progress that compare favorably to the identifydrill request message. For instance, the application server identifiesthree drill IDs of active drills in progress that are associated withemergency medical team drills when the identify drill request messageincludes the emergency medical team credential. Next, the applicationserver sends an identify drill response message that includes one ormore of the plurality of drill IDs and drill descriptors associated withthe plurality of drill IDs.

The method continues at step 344 where the processing module receivesthe identify drill response message. The method continues at step 346where the processing module selects a drill ID of the plurality of drillIDs extracted from the identify drill response message to produce aselected drill ID. The selecting may be based on one or more ofdisplaying the plurality of drill IDs and drill descriptors in a rankorder favorable with the context bundle (e.g., by closest location, byaffiliation with association information, by affiliation with acredential) receiving a user interface input, the plurality of drillIDs, drill descriptors, a prioritization order, the context bundle alist, and a message.

The method continues at step 348 where the processing module sends ajoin drill request message that includes the drill ID. For example, theprocessing module sends the join drill request message to theapplication server, wherein the join drill request message includes anindividual ID, and the drill ID. Next, the application server adds theindividual ID to a list of participants of a drill associated with thedrill ID. The application server sends a join drill response message tothe processing module that includes one or more of an indicatorconfirming that the individual ID is listed as a participant of thedrill associated with the drill ID, the drill ID, and drill parameters.The method continues at step 350 where the processing module receivesthe join drill response message. The method continues at steps 338-340of FIG. 19 where the processing module receives a drill update messageand sends a drill input message when participating.

FIG. 21 is a flowchart illustrating an example of executing a drilltutorial, which includes similar steps to FIG. 14. The method beginswith step 276 of FIG. 14 where a processing module (e.g., an applicationprocessing module of a user device) obtains a context bundle. The methodcontinues at step 352 where the processing module selects a drilltutorial to produce a selected drill tutorial ID. The selecting may bebased on one or more of a list of drill types, the context bundle, alist of drill tutorial IDs, a message, and receiving a user interfaceinput. For example, the processing module displays the list of drilltutorial IDs and associated drill types rank ordering the top of thelist with drill types that compare favorably to event information and/orlocation information of the context bundle. For instance, the processingmodule displays drill tutorial IDs at the top of the list that areassociated with water rescue when a fast water rescue event is activewithin a distance threshold of location information of the contextbundle. Next, the processing module receives the user interface input.

The method continues at step 354 where the processing module displaystutorial instructions based on stored/and or received tutorialinstructions. The tutorial instructions may include one or more of adrill descriptor, the drill ID, why drill, how the drill works, drillobjectives, and drill participation guidance. The method continues atstep 356 where the processing module displays a drill update messagesimulating a step of a drill. The drill update message includes elementsas previously discussed with reference to FIG. 19.

The method continues at step 358 where the processing module obtains adrill input message, wherein the drill input message is as previouslydiscussed with reference to FIG. 19. The method continues at step 360where the processing module determines whether the drill tutorialsession is over based on last steps executed and the number of stepsassociated with the drill tutorial. For example, the processing moduledetermines that the drill session is over when a last step executed issubstantially the same as a last step of a number of steps of the drilltutorial. The method repeats back to step 358 when the processing moduledetermines that the drill session is not over. The method continues tostep 362 when the processing module determines that the drill session isover.

The method continues at step 362 where the processing module determinesand saves drill summary information. The drill summary information mayinclude one or more of drill issues, drill solutions, an effectivenessrating, and an evaluation. The evaluation may be determined based on acomparison of drill results to desired drill results of a desired drillresults list. The method continues at step 364 where the processingmodule displays at least some of the drill summary information

As may be used herein, the terms “substantially” and “approximately”provides an industry-accepted tolerance for its corresponding termand/or relativity between items. Such an industry-accepted toleranceranges from less than one percent to fifty percent and corresponds to,but is not limited to, component values, integrated circuit processvariations, temperature variations, rise and fall times, and/or thermalnoise. Such relativity between items ranges from a difference of a fewpercent to magnitude differences. As may also be used herein, theterm(s) “operably coupled to”, “coupled to”, and/or “coupling” includesdirect coupling between items and/or indirect coupling between items viaan intervening item (e.g., an item includes, but is not limited to, acomponent, an element, a circuit, and/or a module) where, for indirectcoupling, the intervening item does not modify the information of asignal but may adjust its current level, voltage level, and/or powerlevel. As may further be used herein, inferred coupling (i.e., where oneelement is coupled to another element by inference) includes direct andindirect coupling between two items in the same manner as “coupled to”.As may even further be used herein, the term “operable to” or “operablycoupled to” indicates that an item includes one or more of powerconnections, input(s), output(s), etc., to perform, when activated, oneor more its corresponding functions and may further include inferredcoupling to one or more other items. As may still further be usedherein, the term “associated with”, includes direct and/or indirectcoupling of separate items and/or one item being embedded within anotheritem. As may be used herein, the term “compares favorably”, indicatesthat a comparison between two or more items, signals, etc., provides adesired relationship. For example, when the desired relationship is thatsignal 1 has a greater magnitude than signal 2, a favorable comparisonmay be achieved when the magnitude of signal 1 is greater than that ofsignal 2 or when the magnitude of signal 2 is less than that of signal1.

As may also be used herein, the terms “processing module”, “processingcircuit”, and/or “processing unit” may be a single processing device ora plurality of processing devices. Such a processing device may be amicroprocessor, micro-controller, digital signal processor,microcomputer, central processing unit, field programmable gate array,programmable logic device, state machine, logic circuitry, analogcircuitry, digital circuitry, and/or any device that manipulates signals(analog and/or digital) based on hard coding of the circuitry and/oroperational instructions. The processing module, module, processingcircuit, and/or processing unit may be, or further include, memoryand/or an integrated memory element, which may be a single memorydevice, a plurality of memory devices, and/or embedded circuitry ofanother processing module, module, processing circuit, and/or processingunit. Such a memory device may be a read-only memory, random accessmemory, volatile memory, non-volatile memory, static memory, dynamicmemory, flash memory, cache memory, and/or any device that storesdigital information. Note that if the processing module, module,processing circuit, and/or processing unit includes more than oneprocessing device, the processing devices may be centrally located(e.g., directly coupled together via a wired and/or wireless busstructure) or may be distributedly located (e.g., cloud computing viaindirect coupling via a local area network and/or a wide area network).Further note that if the processing module, module, processing circuit,and/or processing unit implements one or more of its functions via astate machine, analog circuitry, digital circuitry, and/or logiccircuitry, the memory and/or memory element storing the correspondingoperational instructions may be embedded within, or external to, thecircuitry comprising the state machine, analog circuitry, digitalcircuitry, and/or logic circuitry. Still further note that, the memoryelement may store, and the processing module, module, processingcircuit, and/or processing unit executes, hard coded and/or operationalinstructions corresponding to at least some of the steps and/orfunctions illustrated in one or more of the Figures. Such a memorydevice or memory element can be included in an article of manufacture.

The present invention has been described above with the aid of methodsteps illustrating the performance of specified functions andrelationships thereof. The boundaries and sequence of these functionalbuilding blocks and method steps have been arbitrarily defined hereinfor convenience of description. Alternate boundaries and sequences canbe defined so long as the specified functions and relationships areappropriately performed. Any such alternate boundaries or sequences arethus within the scope and spirit of the claimed invention. Further, theboundaries of these functional building blocks have been arbitrarilydefined for convenience of description. Alternate boundaries could bedefined as long as the certain significant functions are appropriatelyperformed. Similarly, flow diagram blocks may also have been arbitrarilydefined herein to illustrate certain significant functionality. To theextent used, the flow diagram block boundaries and sequence could havebeen defined otherwise and still perform the certain significantfunctionality. Such alternate definitions of both functional buildingblocks and flow diagram blocks and sequences are thus within the scopeand spirit of the claimed invention. One of average skill in the artwill also recognize that the functional building blocks, and otherillustrative blocks, modules and components herein, can be implementedas illustrated or by discrete components, application specificintegrated circuits, processors executing appropriate software and thelike or any combination thereof.

The present invention may have also been described, at least in part, interms of one or more embodiments. An embodiment of the present inventionis used herein to illustrate the present invention, an aspect thereof, afeature thereof, a concept thereof, and/or an example thereof. Aphysical embodiment of an apparatus, an article of manufacture, amachine, and/or of a process that embodies the present invention mayinclude one or more of the aspects, features, concepts, examples, etc.described with reference to one or more of the embodiments discussedherein. Further, from figure to figure, the embodiments may incorporatethe same or similarly named functions, steps, modules, etc. that may usethe same or different reference numbers and, as such, the functions,steps, modules, etc. may be the same or similar functions, steps,modules, etc. or different ones.

While the transistors in the above described figure(s) is/are shown asfield effect transistors (FETs), as one of ordinary skill in the artwill appreciate, the transistors may be implemented using any type oftransistor structure including, but not limited to, bipolar, metal oxidesemiconductor field effect transistors (MOSFET), N-well transistors,P-well transistors, enhancement mode, depletion mode, and zero voltagethreshold (VT) transistors.

Unless specifically stated to the contra, signals to, from, and/orbetween elements in a figure of any of the figures presented herein maybe analog or digital, continuous time or discrete time, and single-endedor differential. For instance, if a signal path is shown as asingle-ended path, it also represents a differential signal path.Similarly, if a signal path is shown as a differential path, it alsorepresents a single-ended signal path. While one or more particulararchitectures are described herein, other architectures can likewise beimplemented that use one or more data buses not expressly shown, directconnectivity between elements, and/or indirect coupling between otherelements as recognized by one of average skill in the art.

The term “module” is used in the description of the various embodimentsof the present invention. A module includes a processing module, afunctional block, hardware, and/or software stored on memory forperforming one or more functions as may be described herein. Note that,if the module is implemented via hardware, the hardware may operateindependently and/or in conjunction software and/or firmware. As usedherein, a module may contain one or more sub-modules, each of which maybe one or more modules.

While particular combinations of various functions and features of thepresent invention have been expressly described herein, othercombinations of these features and functions are likewise possible. Thepresent invention is not limited by the particular examples disclosedherein and expressly incorporates these other combinations.

What is claimed is:
 1. A method for execution by one or more processingmodules of one or more computing devices, the method comprises:identifying a first user device potentially associated with a biologicalthreat event; establishing a relevant time period of the biologicalthreat event; identifying geographic location coordinates associatedwith the biological threat event based on the relevant time period ofthe biological threat event and geographic location coordinateinformation of the first user device for the relevant time period;identifying a second user device potentially associated with thebiological threat event based on the geographic location coordinatesassociated with the biological threat event and geographic locationcoordinate information of the second user device for the relevant timeperiod; and issuing status information to the second user device,wherein the status information includes one or more of: a statusassociated with the first user device, the relevant time period of thebiological threat event, and the geographic location coordinateinformation of the second user device for the relevant time period. 2.The method of claim 1 further comprises: identifying a third user devicepotentially associated with the biological threat event based on thegeographic location coordinate information of the second user device forthe relevant time period and geographic location coordinate informationof the third user device for the relevant time period.
 3. The method ofclaim 1, wherein the identifying the first user device potentiallyassociated with the biological threat event comprises one or more of:interpreting a safety status text string generated by the first userdevice; receiving a user device sensor output; and interpreting furtherstatus information with regards to a fourth user device, wherein thefurther status information includes one or more of: a status associatedwith the fourth user device, another relevant time period of anotherbiological threat event, and further geographic location coordinateinformation of the first user device for the other relevant time period.4. The method of claim 1, wherein the establishing the relevant timeperiod of the biological threat event comprises: estimating the relevanttime period of the biological threat event based on one or more of:timing associated with interpreting a safety status text stringgenerated by the first user device; timing associated with receiving auser device sensor output; and timing associated with interpretingfurther status information with regards to a fourth user device, whereinthe further status information includes one or more of: a statusassociated with the fourth user device, another relevant time period ofanother biological threat event, and further geographic locationcoordinate information of the first user device for the other relevanttime period.
 5. The method of claim 1, wherein the identifying thegeographic location coordinates associated with the biological threatevent based on the relevant time period of the biological threat eventand the geographic location coordinate information of the first userdevice for the relevant time period comprises one or more of: obtainingthe geographic location coordinate information of the first user devicefor the relevant time period from the first user device; accessing aninformation server to recover the geographic location coordinateinformation of the first user device for the relevant time period; andestablishing at least some of the geographic location coordinateinformation of the first user device for the relevant time period as thegeographic location coordinates associated with the biological threatevent.
 6. The method of claim 1, wherein the identifying the second userdevice potentially associated with the biological threat event based onthe geographic location coordinates associated with the biologicalthreat event and the geographic location coordinate information of thesecond user device for the relevant time period comprises one or moreof: obtaining the geographic location coordinate information of thesecond user device for the relevant time period from the second userdevice; estimating the geographic location coordinate information of thesecond user device for the relevant time period based on currentgeographic location coordinate information of the second user device;accessing an information server to recover the geographic locationcoordinate information of the second user device for the relevant timeperiod; and selecting the second user device when at least some of thegeographic location coordinate information of the second user device forthe relevant time period is within the geographic location coordinatesassociated with the biological threat event.
 7. The method of claim 1,wherein the issuing the status information to the second user devicecomprises one or more of: obtaining the status associated with the firstuser device; identifying a subset of the geographic location coordinateinformation of the second user device for the relevant time period thatis within the geographic location coordinates associated with thebiological threat event; generating the status information to includeone or more of: the status associated with the first user device, therelevant time period of the biological threat event, and the subset ofthe geographic location coordinate information of the second user devicefor the relevant time period; and sending the status information to thesecond user device.
 8. A computing device comprises: an interface; amemory; and a processing module operably coupled to the interface andthe memory, wherein the processing module functions to: identify a firstuser device potentially associated with a biological threat event;establish a relevant time period of the biological threat event;identify geographic location coordinates associated with the biologicalthreat event based on the relevant time period of the biological threatevent and geographic location coordinate information of the first userdevice for the relevant time period; identify a second user devicepotentially associated with the biological threat event based on thegeographic location coordinates associated with the biological threatevent and geographic location coordinate information of the second userdevice for the relevant time period; and issue, via the interface,status information to the second user device, wherein the statusinformation includes one or more of: a status associated with the firstuser device, the relevant time period of the biological threat event,and the geographic location coordinate information of the second userdevice for the relevant time period.
 9. The computing device of claim 8,wherein the processing module further functions to: identify a thirduser device potentially associated with the biological threat eventbased on the geographic location coordinate information of the seconduser device for the relevant time period and geographic locationcoordinate information of the third user device for the relevant timeperiod.
 10. The computing device of claim 8, wherein the processingmodule functions to identify the first user device potentiallyassociated with the biological threat event by one or more of:interpreting a safety status text string generated by the first userdevice; receiving, via the interface, a user device sensor output; andinterpreting further status information with regards to a fourth userdevice, wherein the further status information includes one or more of:a status associated with the fourth user device, another relevant timeperiod of another biological threat event, and further geographiclocation coordinate information of the first user device for the otherrelevant time period.
 11. The computing device of claim 8, wherein theprocessing module functions to establish the relevant time period of thebiological threat event by: estimating the relevant time period of thebiological threat event based on one or more of: timing associated withinterpreting a safety status text string generated by the first userdevice; timing associated with receiving a user device sensor output;and timing associated with interpreting further status information withregards to a fourth user device, wherein the further status informationincludes one or more of: a status associated with the fourth userdevice, another relevant time period of another biological threat event,and further geographic location coordinate information of the first userdevice for the other relevant time period.
 12. The computing device ofclaim 8, wherein the processing module functions to identify thegeographic location coordinates associated with the biological threatevent based on the relevant time period of the biological threat eventand the geographic location coordinate information of the first userdevice for the relevant time period by one or more of: obtaining, viathe interface, the geographic location coordinate information of thefirst user device for the relevant time period from the first userdevice; accessing, via the interface, an information server to recoverthe geographic location coordinate information of the first user devicefor the relevant time period; and establishing at least some of thegeographic location coordinate information of the first user device forthe relevant time period as the geographic location coordinatesassociated with the biological threat event.
 13. The computing device ofclaim 8, wherein the processing module functions to identify the seconduser device potentially associated with the biological threat eventbased on the geographic location coordinates associated with thebiological threat event and the geographic location coordinateinformation of the second user device for the relevant time period byone or more of: obtaining, via the interface, the geographic locationcoordinate information of the second user device for the relevant timeperiod from the second user device; estimating the geographic locationcoordinate information of the second user device for the relevant timeperiod based on current geographic location coordinate information ofthe second user device; accessing, via the interface, an informationserver to recover the geographic location coordinate information of thesecond user device for the relevant time period; and selecting thesecond user device when at least some of the geographic locationcoordinate information of the second user device for the relevant timeperiod is within the geographic location coordinates associated with thebiological threat event.
 14. The computing device of claim 8, whereinthe processing module functions to issue the status information to thesecond user device by one or more of: obtaining the status associatedwith the first user device; identifying a subset of the geographiclocation coordinate information of the second user device for therelevant time period that is within the geographic location coordinatesassociated with the biological threat event; generating the statusinformation to include one or more of: the status associated with thefirst user device, the relevant time period of the biological threatevent, and the subset of the geographic location coordinate informationof the second user device for the relevant time period; and sending, viathe interface, the status information to the second user device.